﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChessEngine.Engine
{
    /// <summary>
    /// Abstract class that encapsulates all of the decision making components necessary for
    /// an AI player to make the next move
    /// </summary>
    internal abstract class Strategy
    {
        internal static Strategy Default()
        {
            return new NegamaxStrategy();
        }

        internal abstract Move MakeNextMove(Engine engine);
    }
}
